首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深入理解Android

    Android App瘦身新姿势——Android App Bundle

    由于博主长期从事海外App的开发,所以心系谷歌爸爸的动向呀,最近谷歌爸爸推出了一个Android App Bundle的东西,据说可以压缩包体,当然这仅限于上传Google Play的应用,国内市场不支持 概述 Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,与Instant App不同,AAB是借助Split Apk完成动态加载,使用AAB动态下发方式,可以大幅度减少应用体积 想了解更多关于split apks的内容,请关注这里: https://developer.android.com/studio/build/configure-apk-splits? authuser=2 如何使用App Bundle 1.将你的Android Studio升级为3.2及其以上版本 2.添加对Dynamic Delivery的支持 其实就是一些基础apk需要东西 ,比如签名,MAIN入口等,详细请阅读: https://developer.android.google.cn/studio/projects/dynamic-delivery 3.构建App Bundle

    1.7K10编辑于 2022-06-22
  • 来自专栏全栈程序员必看

    android app 退出功能,Android 完美退出 App (Exit)

    最近两天为了解决Android上面退出程序问题折腾了半死,在google & baidu 上面找了很久、很久出来的完全千篇一律,说的方法有三,但是经过我试验后全部不行。 三个方法分别是: killProcess, 这种方式当你kill后 Activity 会返回到上一个Activity Android Level 8(包含8)前使用一个API来操作,Level8以后又是另外一种 ,所以不能通用 使用 FLAG_ACTIVITY_CLEAR_TOP,从 A 到 B 下面介绍自己的方式: 大家都知道 Android 的 Activity 是存着历史栈的,比如从 A -> B ->

    3.6K10编辑于 2022-09-09
  • 来自专栏全栈程序员必看

    android 退出APP

    java.lang.Thread.UncaughtExceptionHandler; import java.util.LinkedList; import java.util.List; import mylog.Log; import android.app.Activity ; import android.app.Application; import android.content.pm.PackageManager.NameNotFoundException; import VERSION = "1.1"; public static Long EXIT_TIMEOUT = 2500l; //add activity container,used to exit app

    1.2K30编辑于 2022-09-09
  • 来自专栏全栈程序员必看

    Android mtk_Android开发app

    PDAF通过比较L/R PD pixel构成的两幅图像,PD算法会计算出当前的相位差,根据相位差和模组的PD calibration data,估算出像距,从而移动lens快速对焦,PDAF快速对焦的搜索范围[infinity,macro]主要来自于烧录的OTP中的AF段,此距离并未实际与物体的物理距离即转换后的DAC值。PDAF OTP中主要烧录以上的SPC(shield pixel calibration)用于补偿遮光后的亮度增益,DCC(defocus conversion coefficient)主要是用于将相位差转换为Lens移动的距离,DCC中数值是通用过PD Diff 与DAC的关系拟合一条曲线的斜率(即PDAF线性度斜率)

    1.8K20编辑于 2022-10-04
  • 来自专栏技术小黑屋

    Start an Android App by ADB

    To be more geek,I began to start an Android App by using adb.Thanks to Google.It’s possible and powerful The tool we use to make it is ADB(Android Debug Tool),For more detailed use please visit http://developer.android.com here is 1 start [options] <INTENT> An example is followed. 1 2 3 4 #Here I want to start MxBrowser app brought to the front the Package name(com.mx.browser) before the slash is provided to determine which app For more explanations about ADB INTENT,please visit http://developer.android.com/tools/help/adb.html#

    1.2K20发布于 2018-09-04
  • 来自专栏若尘的技术专栏

    Android APP启动流程

    ActivityTaskManagerService extends IActivityTaskManager.Stub ActivityTaskManagerService简称ATMS, 到这里明白:Launcher启动一个APP transaction.setLifecycleStateRequest( ResumeActivityItem.obtain(next.app.getReportedProcState mStackSupervisor.startSpecificActivity(next, true, true); } } 首先startPausingLocked()让上一个页面进入pause状态, 然后开始判断要启动的APP return new MethodAndArgsCaller(m, argv); } 这里通过反射的方式调用了main方法,之后就进入到APP的主入口main方法了。 activity.attach(appContext, this, getInstrumentation(), r.token, r.ident, app

    3.8K55编辑于 2021-12-15
  • 来自专栏CSDN

    android studio 打包app

    android studio 打包app 首先配置apk信息 创建key信息 首次进来点击Create new… 创建成功后点击ok返回原页面 勾选Remember passwords 点击Next 打包app 接上步选择release 点击Finish 开始Build app 打包成功

    35610编辑于 2024-03-28
  • 来自专栏黯羽轻扬

    Android scheme呼起App

    android:name="android.intent.category.DEFAULT"/> <! 是默认的,有实际意义的是android.intent.category.BROWSABLE,表示允许通过浏览器启动该activity(呼起App)。 被呼起了没,可能没安装App,也可能intent没匹配成功,但页面肯定没有办法得知。 所以一般呼起App的页面都会延迟自动跳转下载页,无论有没有成功呼起App,这也是迫不得已 除了页面发出请求,还有一种更强的方式:通过应用发出请求,例如: // 通过webview发出请求 webview.loadUrl APP(scheme) Android安全开发之浅谈网页打开APP 附iOS通过自定义的URL Scheme启动你的App

    2.6K20编辑于 2023-03-15
  • 来自专栏ADAS性能优化

    Android App 启动优化

    当前用户越来越关心APP的启动速度.而APP的启动和很多因素相关. eMMC的读写速度. CPU 的频率. App framework 的优化. App 代码的优化. kill任何进程及时是cache的process和empty的process达到了上限.其patch 如下. diff --git a/services/core/java/com/android/server /am/ActivityManagerService.javab/services/core/java/com/android/server/am/ActivityManagerService.java old mode 100644 new mode 100755 index d2f573b..535300d ---a/services/core/java/com/android/server/am /ActivityManagerService.java +++b/services/core/java/com/android/server/am/ActivityManagerService.java

    93420编辑于 2022-05-13
  • 来自专栏python前行者

    Android app代理软件

    VNET——最好用的Android抓包神器 VNET是Android平台下功能最强大的网络抓包工具,支持HTTP&HTTPS,TCP&UDP,IPv6&IPv4,多终端显示,功能十分的强大。 com.vnet.tech 2、安装后点击开始按钮,既可以开始抓包啦 QuickStart视频链接:https://www.zhihu.com/video/1293868605080772608 支持Android7.0 以上 Android7.0 以上无法通过安装用户证书抓取HTTPS,所以需要额外的操作,以下二选一 1、对于非root手机 在VNET设置中安装平行空间特别版本,VNET中设置抓包APP为平行空间,在平行空间中启动需要抓包的三方 APP,以对Chrome抓包为例 五毛GK的视频:https://www.zhihu.com/video/1293868829328494592 2、对于root手机 在VNET设置中安装系统证书,或者手动将证书移动到系统证书目录 更多功能 1、支持IPv6&IPv4,TCP&UDP,HTTP&HTTPS 2、支持PC网页显示结果 3、支持Pcap导出 4、支持抓包结果保存与分享 5、支持全局抓包或者只针对某一个或几个APP

    6.3K30发布于 2021-04-29
  • 来自专栏若尘的技术专栏

    Android APP启动流程

    ActivityTaskManagerService extends IActivityTaskManager.Stub ActivityTaskManagerService简称ATMS, 到这里明白:Launcher启动一个APP transaction.setLifecycleStateRequest( ResumeActivityItem.obtain(next.app.getReportedProcState return new MethodAndArgsCaller(m, argv); } 这里通过反射的方式调用了main方法,之后就进入到APP的主入口main方法了。 activity.attach(appContext, this, getInstrumentation(), r.token, r.ident, app 5、Zygote fork进程,并调用ActivityThread的main方法,也就是app的入口。

    2.7K54发布于 2021-11-21
  • 来自专栏APP开发

    Android APP性能优化

    Android APP性能优化是提升用户体验的关键,涉及多个方面,包括内存管理、UI优化、网络请求、电池消耗等。以下是一些常见的优化策略。 使用SplashScreen API(Android 12及以上)优化启动体验。优化Application初始化:避免在Application的onCreate()中执行耗时操作。 9.监控与测试使用性能分析工具:使用Android Studio的Profiler工具监控CPU、内存、网络等性能指标。自动化测试:编写单元测试和UI测试,确保代码质量。 兼容不同Android版本:使用AndroidX库确保兼容性。避免使用已弃用的API。总结Android APP性能优化是一个持续的过程,涉及内存管理、UI优化、网络请求、电池消耗等多个方面。

    92100编辑于 2025-02-21
  • 来自专栏全栈之路

    Android APP项目重启

    在大学做了一个app,然后发布到百度手机助手和小米应用商店了,现在下载量达到了2万,但是估计拆卸量也挺高的。 由于看到下载量还可以,于是决定重启项目(之前都快把它忘了)。 因为从来就没有想过拿app来盈利。不过作为社会人(都是泪)来说,有一笔额外收入是非常重要的,谁都不会排斥吧~ 之前项目是用eclipse开发的,然后是用git做版本管理。 这有可能是so文件没有支持相应的cpu,还有可能是代码过于凌乱,多出内存泄漏,使用重新启动的app有几点需要优化的: 重新理顺代码,添加对arm和x86以及mips类型的cpu的支持 实现动态更新,这样才是可持续发展之道 添加广告sdk,毕竟盈利才是我继续项目的目标和动力 迁移代码到Android Studio,并实现代码混淆以及文件加密 添加日志收集sdk,这样方便从日志发现崩溃的问题 其他的还有待扩展,目前还是先实现这一个小小的目标再说吧

    98020发布于 2018-10-19
  • 来自专栏yanlongli_艳龙

    浅谈Android App Bundle

    那什么是 Android App Bundle呢? Android App Bundle 简介 Google Play 推出的新应用服务模式名叫“Dynamic Delivery”,新的服务支持上传的文件就是Android App Bundle文件(.aab Android App Bundle 是一种全新的上传格式,是用来上传到 Google Play 以支持 Dynamic Delivery应用服务 的一种文件类型(文件扩展名为 .aab) Android 下图中为.aab中的内容: 展开后如下: 编译 Android App Bundle 文件 编译Android App Bundle 需支持以下条件: 1 Android Studio 3.2 或者更高版本 同时有两种方式可以编译Android App Bundle文件 : Android Studio中可视化界面操作: Build -> Build Bundle(s)/APK(s) -> Build

    2.2K10编辑于 2021-12-16
  • 来自专栏向治洪

    Android App瘦身实战

    随着业务的快速迭代增长,不断引入新的业务逻辑代码、图片资源和第三方SDK等,很多app都面临一个一个结果,app越来越大,甚至很多无用的代码,包体积的增大带来了很多问题,诸如app启动更慢,代码维护越来越困难 公司业务发展到一定程度之后,重构,代码优化,app瘦身成为不得不做的一个任务。这里以xx外卖app为例给大家讲讲app瘦身过程中常用的几种方法(也都是网上老生常谈的)。 图片优化 为了支持Android设备DPI的多样化([l|m|tv|h|x|xx|xxx]dpi)以及用户对高质量UI的期待,往往在App中使用了大量的图片以及不同的格式,例如:PNG、JPG 、WebP 矢量图片 使用矢量图片能够有效的减少App中图片所占用的大小,矢量图形在Android中表示为VectorDrawable对象。 WebP 如果App的minSdkVersion>=14(Android 4.0+)的话,可以选用WebP格式,因为WebP在同画质下体积更小。

    2.1K80发布于 2018-02-06
  • 来自专栏毛毛v5

    uni-app设置android的锁屏壁纸(android.app.WallpaperManager)。。。

    var that = this; setTimeout(() => { var WallpaperManager = plus.android.importClass ('android.app.WallpaperManager'); //console.log(WallpaperManager); var Main = plus.android.runtimeMainActivity(); var wallpaperManager = WallpaperManager.getInstance (wallpaperManager); var BitmapFactory = plus.android.importClass('android.graphics.BitmapFactory (bitmap,"getHeight");//bitmap.getHeight(); var w = plus.android.invoke(bitmap

    3.3K30发布于 2019-07-02
  • 来自专栏算法微时光

    androidapp debugrelease检查

    例如测试版本打印log信息或者是输出某些日志文件,但是正式版本不希望输出这些信息。

    93820发布于 2021-01-29
  • 来自专栏FunTester

    Android App常规测试内容

    以下是一些基本安卓 APP要测试的内容,根据不同时期测试内容不一样~ 测试内容测试类型目标冒烟测试Monkey 1.编写adb.exe 的Monkey 命令 2.通过logcat定位问题,保证软件的健壮性模糊测试 支持多种分辨率显示不同版本系统1.支持多种系统运行不同厂家定制系统1.支持多种系统运行不同尺寸1.支持多种尺寸显示不同屏幕1.支持多种屏幕显示不同网络1.支持多种网络运行联机调试测试eclipse +android 是否会影响程序正常流程病毒扫描测试 PC和手机工具检测安全测试腾讯金刚网测试 apk反编译 签名校验 完整性(MD5)校验 敏感信息泄漏 软键盘劫持 账号安全 服务端接口安全 数据通信安全 文件夹权限 xss注入 Android 操作修改系统时间对相关时间显示得功能或者时间判断的接口会出现异常按home键数据刷新或者加载,按home键,在进入,页面异常或者闪退数据跨年15年查找之前14年APP存储数据,数据显示异常或者闪退数据互通 (Android&IOS)IOSapp相通模块修改,引起的功能异常签到,小米手机分身绕过防刷机制,可以多次签到代码检测sonarqube 竞品对比测试性能专项对比;用户体验 对于质量平台(接口测试,自动化测试

    1.3K10发布于 2019-10-08
  • 来自专栏QQ音乐技术团队的专栏

    Android App 国际化

    Android 对i18n和L10n提供了非常好的支持。 本文主要介绍Android App国际化过程中遇到的问题和解决方案。 1.整理HardCode App国际化是要在保持App原功能不变的情况下,主要对字符串进行替换。 下面仅根据项目中出现的情况,总结出大部分App都会出现的一些问题。 位置问题。 " android:textAllCaps="false" /> App国际化适配界面的工作“因App而异”,更多的内容需要一个个界面进行调整,没有完整的通用方法。 总结 Android App国际化的工作并没有太多的技术难度,更多的是一些繁琐的文本处理。

    5.4K41发布于 2017-11-01
  • 来自专栏全栈程序员必看

    Android小项目——新闻APP

    前言: 在公司学习了一段时间Android知识,决定做一个小项目,目的是学会运用所学的基础知识,在这里记录一下开发历程,大家可以把它看成一款入门级练手的 Demo 应用吧~ 项目概述: 类型 : 新闻APP(低仿今日头条) 基本功能: 欢迎页面加载(3s,点击可跳过)——Activity相关 用户注册/登录 ——SQLite运用 横向滑动列表显示新闻类别——TabLayout、ViewPager 、上滑实现刷新——自定义ListView 逐条收藏新闻、删除新闻——SharePreference 仿UI界面——各类控件运用 点击查看新闻详情 —— WebView 用户界面更换头像功能——Android 因为在加载新闻列表时对新闻图片采取了三级缓存策略(网络,本地文件,内存),所以会产生一定的缓存,该功能会清理掉所有缓存; 代码实现: // 获取文件 //Context.getExternalFilesDir() --> SDCard/Android /data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据 //Context.getExternalCacheDir() --> SDCard/Android/data/你的应用包名

    1.6K10编辑于 2022-08-18
领券